The Internet of Things (IoT) envisions a fully networked world with billions of interconnected devices. Most of these devices will be sensors and actuators that will provide ubiquitous sensing capabilities and interaction with the physical world. This will lead to a dramatic paradigm shift in the networking world, since Machine-to-Machine (M2M) communications will be several orders of magnitude greater than the Human-to-Human or Human-to-Machine communications that are the norm nowadays.
A large portion of these sensors are expected to be small, inexpensive, wireless and powered by batteries in order to be placed wherever needed. Therefore, in order to save battery, those sensor devices will be sleeping most of the time and will only awake periodically to sense their environment and send their measurements or to receive new instructions. Actuators, on the other hand, are expected to receive power from a power grid and they are thus awake most of the time waiting for commands, but they will still be resource-constrained devices. It would generally be desirable to allow such sensors and actuators to be part of a Peer-to-Peer (P2P) network.
Recently protocols for establishing P2P networks of computing devices in the context of IoT/M2M networks have been proposed. One such protocol is the REsource LOcation And Discovery (RELOAD) protocol, see e.g. the internet draft “A Constrained Application Protocol (CoAP) Usage for REsource Location And Discovery (RELOAD)” of Aug. 20, 2012 by J. Jimenez, J. Lopez-Vega, J. Maenpaa and G. Camarillo, available online at: http://tools.ietf.org/html/draft-jimenez-p2psip-coap-reload-02, or the internet draft “Resource Location And Discovery Base Protocol” of Nov. 5, 2012 by C. Jennings, B. B. Lowekamp, E. K. Rescorla, S. A. Baset, and H. G. Schulzrinne, available online at http://tools.ietf.org/html/draft-ietf-p2psip-base-23.
RELOAD is a generic P2P signalling protocol that uses the Chord algorithm (see e.g. Stoica, I., Morris, R., Liben-Nowell, D., Karger, D., Kaashoek, M., Dabek, F., and H. Balakrishnan, “Chord: A Scalable Peer-to-peer Lookup Protocol for Internet Applications”, IEEE/ACM Transactions on Networking Volume 11, Issue 1, 17-32, February 2003) as the default Distributed Hash Table (DHT) algorithm to organize participating nodes in a P2P overlay network. A distributed hash table stores key-value pairs by assigning keys to different nodes; a node will store the values for all the keys for which it is responsible. Chord specifies how keys are assigned to nodes, and how a node can discover the value for a given key by first locating the node responsible for that key. RELOAD provides a generic, self-organizing P2P overlay network service. Nodes can use the overlay to route messages to other nodes, as well as to store and retrieve data. The RELOAD protocol provides different types of nodes: A first type of nodes, referred to as peers, and a second type of nodes, referred to as clients. While peers route RELOAD messages and store information, clients are RELOAD nodes that do not have routing or storage responsibilities. However, clients do share some characteristics with peers since they use the same protocol and even implementation in most cases. In particular, like peers, clients are identified by their node-ID and they use certificates to store data at certain locations in the overlay.
Hence, a network employing the RELOAD protocol is an example of a P2P network that allows resource-constrained devices such as sensors to connect as clients, thus requiring lower computational and data communications capabilities than for peers. However, there may be situations where a battery-powered or otherwise resource-constrained device cannot connect to a P2P network as a client, e.g. because its admitting peer does not have any more resources. In prior art P2P networks, e.g. networks using the RELOAD protocol, the only solution for such a device is to connect as a full peer, and therefore being awake all the time in order to receive and process RELOAD messages from other peers and clients. This will quickly exhaust its resources, requiring frequent battery replacements. Conversely, allowing IoT sensors to periodically join and leave the overlay network as peers in order to sleep would mean an order of magnitude more churn, leading to a huge number of topology changes and thus signalling messages in the overlay network.
Consequently, it remains desirable to provide communications networks and/or processes related to such networks that allow resource-constrained devices to more efficiently connect to such networks while maintaining their power consumption and/or other resource usage at a low level. Examples of other resource usage may include computational resources, memory resources and data communications resources.